home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / security / SecureClassLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.6 KB  |  74 lines

  1. package java.security;
  2.  
  3. import java.nio.ByteBuffer;
  4. import java.util.HashMap;
  5. import sun.security.util.Debug;
  6.  
  7. public class SecureClassLoader extends ClassLoader {
  8.    private boolean initialized = false;
  9.    private HashMap pdcache = new HashMap(11);
  10.    private static final Debug debug = Debug.getInstance("scl");
  11.  
  12.    protected SecureClassLoader(ClassLoader var1) {
  13.       super(var1);
  14.       SecurityManager var2 = System.getSecurityManager();
  15.       if (var2 != null) {
  16.          var2.checkCreateClassLoader();
  17.       }
  18.  
  19.       this.initialized = true;
  20.    }
  21.  
  22.    protected SecureClassLoader() {
  23.       SecurityManager var1 = System.getSecurityManager();
  24.       if (var1 != null) {
  25.          var1.checkCreateClassLoader();
  26.       }
  27.  
  28.       this.initialized = true;
  29.    }
  30.  
  31.    protected final Class<?> defineClass(String var1, byte[] var2, int var3, int var4, CodeSource var5) {
  32.       return var5 == null ? this.defineClass(var1, var2, var3, var4) : this.defineClass(var1, var2, var3, var4, this.getProtectionDomain(var5));
  33.    }
  34.  
  35.    protected final Class<?> defineClass(String var1, ByteBuffer var2, CodeSource var3) {
  36.       return var3 == null ? this.defineClass(var1, var2, (ProtectionDomain)null) : this.defineClass(var1, var2, this.getProtectionDomain(var3));
  37.    }
  38.  
  39.    protected PermissionCollection getPermissions(CodeSource var1) {
  40.       this.check();
  41.       return new Permissions();
  42.    }
  43.  
  44.    private ProtectionDomain getProtectionDomain(CodeSource var1) {
  45.       if (var1 == null) {
  46.          return null;
  47.       } else {
  48.          Object var2 = null;
  49.          synchronized(this.pdcache) {
  50.             ProtectionDomain var7 = (ProtectionDomain)this.pdcache.get(var1);
  51.             if (var7 == null) {
  52.                PermissionCollection var4 = this.getPermissions(var1);
  53.                var7 = new ProtectionDomain(var1, var4, this, (Principal[])null);
  54.                if (var7 != null) {
  55.                   this.pdcache.put(var1, var7);
  56.                   if (debug != null) {
  57.                      debug.println(" getPermissions " + var7);
  58.                      debug.println("");
  59.                   }
  60.                }
  61.             }
  62.  
  63.             return var7;
  64.          }
  65.       }
  66.    }
  67.  
  68.    private void check() {
  69.       if (!this.initialized) {
  70.          throw new SecurityException("ClassLoader object not initialized");
  71.       }
  72.    }
  73. }
  74.